Attention : Le contenu de ces pages n'a pas été mis à jour depuis longtemps. Il est probablement obsolète pour Firefox 4.0/Gecko 4.0 et supérieur. Pour du contenu plus récent, allez consulter developer.mozilla.org.

Lecture fichier code avec commentaires (suite)

 function read(filepath) {
 try  {
 /*
    On prévoie une erreur possible (peut-être le fichier désigné par
    'filepath' n'existe pas… — ici, c'est pour voir si cette page aura
    le droit d'aller lire un de vos fichiers)
    Si un problème survient, javascript se rendra au "catch(e)" pour
    récupérer le message d'erreur, et nous l'afficherons.
 */
  //''On autorise le navigateur a ouvrir des fichiers locaux
  //si par exemple, le script n'est pas lancé depuis une adresse chrome''
  netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
  /*
     Vos fichiers, votre ordinateur, est protégé pour que n'importe quelle
     page web, avec un peu de javascript, ne puisse pas faire n'importe
     quoi sur votre ordinateur personnel. C'est rassurant, mais ça oblige
     à certaines contraintes comme celle-ci.
  */
 } catch (e) {
 /*
   Si on passe ici, c'est que la permission de lire le fichier
   a été refusée.
 */
  alert("Permission refusée de lire le fichier (" + e + ")");
  /*
    On informe l'utilisateur.
  */
  return '';
  /*
    C'est dommage, mais on doit s'en retourner bredouille (n'oubliez pas
    que notre fonction "remplie()" attend un texte. Si on ne lui renvoie
    rien, elle sera déçue et génèrera une erreur.
    Ici, on aurait pu aussi renvoyer :
      return "Le fichier ne peut être lu.";
    … texte qui serait affiché à la place du contenu du fichier
  */
 }
 /*
   Fin du "catch" défini ci-dessus.
 */
 /*
   Si on arrive là, c'est que l'ordinateur, le navigateur, nous
   ont donné la permission de lire un fichier.
 */
 //''Le fichier est ouvert''
 var file =  Components.classes["@mozilla.org/file/local;1"]
            .createInstance(Components.interfaces.nsILocalFile);
 /*
    On appelle un service pour définir un fichier. Le code qui
    précède signifie en quelque sorte : « je voudrais créer un
    fichier qui s'appelera "file", merci pour le service » (faut
    quand même rester poli…)
 */
 file.initWithPath(filepath);
 /*
   On dit que ce 'file' aura pour chemin d'accès "filepath". Rappel :
   c'est le 'uri' que nous avions défini tout en haut.
 */
 /* Il faut vérifier quand même que ce fichier existe bien (une
    erreur est si vite arrivée…). C'est ce que l'on fait ici : */
 if ( file.exists() != true) {
 // Si le fichier 'file' existe est faux (différent de true), alors…
  alert("Le fichier "+filepath+" n'existe pas");
  /*
    Dire à l'utilisateur que le fichier n'existe pas.
    Note : soit il n'existe pas, soit c'est une erreur dans
    l'écriture du chemin d'accès au fichier.
  */
  return '';
  /* On doit encore une fois s'arrêter là, sans oublier de renvoyer
     un texte, même vide, puisque c'est ce qu'attend notre fonction
     principale */
 }
 // Fin de la vérification de l'existence du fichier

Suite du code commenté


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.